2025 March
2025-03-14 in AfterModalOk in actions we no longer provide vModalResult_selfVM variable.
It was an old mistake that that in WPF the handover of vDirties to instigating view did not happen correctly - so vModalResult_selfVM.save was sometimes used.
The mistake/bug is removed and hand-over of dirties is now the same in Turnkey and WPF - but vModalResult_selfVM.save would then be moot - and to signal this change the vModalResult_selfVM variable was removed altogether from AfterModalOk.
2025 February
2025-02-26 Checksum did not correctly include name of the Association(2 AssociationEnds) and this stopped codegen from discovering the change. Fixed the issue - but MDrivenServer must be updated as well to be able to recognize the new checksum
We did not sort on state-name when compiling checksum. We got reports on checksum diffs from client and server where the only diff was order of states. We now sort on State name to avoid this - this requires new client and server from 4/2 2025.
...and also Triggers was not correctly sorted; fixed 6/2 2025.
(the whole thing is bit of a mystery - it seems like server or designer all of a sudden started to mix up the stored order - so we must explicitly sort on name to make sure designer and server agree on checksum)
2025 January
On the package there are two optional additional checks that are now default on:
The "Stricter require root rules" forces you to follow the Requires-Root setting on the viewmodel as in it must be checked in order to use "self" on root level.
The Stricter "vCurrent_ recursion rules" catches the strange use of vCurrent_ for nestings further down in the tree from the vCurrent_ definition; give that a think and you will see that its logically impossible; the workaround is probably to use an expression based on "self".
2021 February, Issue With ViewModelActions
It was possible to have self in ViewModelContextActions - but self was undefined and you were supposed to use vCurrent_
(class actions have self but ViewModelActions do not).
Sometimes it worked anyway, but it often led to strange errors and views that did not show.
After this change, you may get a lot of Model errors.
The fix is to replace "self" with "vCurrent_<TheViewOwningTheAction>".
For simple cases, doing this in the Designer debugger may help:
MDriven Framework: We Now Require Legal OCL in All oclColumns
Since 2018 and with the support for VS2019, we made changes related to efficient load that make the Framework check all oclColumns.
Prior to this point, oclColumns could be ignored if no one ever used them, but now, we assume that they are all used and thus valid. This is in line with our shift from placed handles to compound declarative ViewModels that are statically checked along with the model.
We will now throw an exception if an illegal OCL is found in the derivation phase.
If you would rather log this with a trace, you can do so by setting the new variable:
/// <summary> /// Set this property to false (default true) if you only want trace logging of failing derivations /// </summary> AbstractDeriver.ThrowExceptionOnFailedDerivation=false
MDriven Framework: VariableHandle Changed Default on AddDefaultNestings and AddDefaultProperties From True to False
Earlier, we had AddDefaultNestings
and AddDefaultProperties=true
as default and this introduced an extra unnecessary load. If you want to use "self", a better option is to set AddSelfColumn
on the variableHandle.